package br.com.hs.nfe.common.enumeration;

/**
 * Enumeração indicando se o valor do Item (vProd) entra no valor total da NF-e.
 * @author Ranlive Hrysyk
 */
public enum IndTotEnum {

    /**
     * O valor do item (vProd) não compõe o valor total da NF-e
     */
    X_0("0", "Não compõe o valor total"),
    /**
     * O valor do item (vProd) compõe o valor total da NF-e
     */
    X_1("1", "Compõe o valor total");
    private String codigo;
    private String descricao;

    private IndTotEnum(String codigo, String descricao) {
        this.codigo = codigo;
        this.descricao = descricao;
    }

    /**
     * Código do item.
     */
    public String getCodigo() {
        return codigo;
    }

    /**
     * Descrição.
     */
    public String getDescricao() {
        return descricao;
    }

    @Override
    public String toString() {
        return getCodigo() + " - " + getDescricao();
    }

    /**
     * Obtém enum pelo código.
     */
    public static IndTotEnum getEnumByCodigo(String codigo) {
        for (IndTotEnum e : values()) {
            if (e.getCodigo().equals(codigo)) {
                return e;
            }
        }
        return null;
    }
}
